package br.com.playonline.domain;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "pagamento")
public class Pagamento implements Serializable {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;
	private static final long serialVersionUID = 1L;
	private Double valor;

	@ManyToOne
	@JoinColumn(name = "usuario_id")
	private Usuario usuario;

	@Enumerated(EnumType.ORDINAL)
	@Column(nullable = true)
	private TipoDePagamento tipoDePagamento;
	@Enumerated(EnumType.ORDINAL)
	@Column(nullable = true)
	private StatusDePagamento statusDePagamento;

	private Date dtInsercao;
	private Date dtLiberacao;
	private String tokenDeLiberacao;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Double getValor() {
		return valor;
	}

	public void setValor(Double valor) {
		this.valor = valor;
	}

	public TipoDePagamento getTipoDePagamento() {
		return tipoDePagamento;
	}

	public void setTipoDePagamento(TipoDePagamento tipoDePagamento) {
		this.tipoDePagamento = tipoDePagamento;
	}

	public StatusDePagamento getStatusDePagamento() {
		return statusDePagamento;
	}

	public void setStatusDePagamento(StatusDePagamento statusDePagamento) {
		this.statusDePagamento = statusDePagamento;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Date getDtInsercao() {
		return dtInsercao;
	}

	public void setDtInsercao(Date dtInsercao) {
		this.dtInsercao = dtInsercao;
	}

	public Date getDtLiberacao() {
		return dtLiberacao;
	}

	public void setDtLiberacao(Date dtLiberacao) {
		this.dtLiberacao = dtLiberacao;
	}

	public String getTokenDeLiberacao() {
		return tokenDeLiberacao;
	}

	public void setTokenDeLiberacao(String tokenDeLiberacao) {
		this.tokenDeLiberacao = tokenDeLiberacao;
	}

}
